Systems and methods for product placement optimization by sensing customer traffic in stores

ABSTRACT

The disclosed embodiments generally relate to in-store customer traffic analysis systems and methods. The system includes at least one sensor positioned within a retail store, at least one display associated with the at least one sensor, one or more memory devices storing instructions and one or more hardware processors configured to execute the instructions to perform operations. The operations include receiving a sensor signal indicating that a user device is within a proximity to the at least one sensor in the retail store, extracting a user device identifier from the sensor signal, correlating the sensor signal to the at least one display, generating a foot traffic record associated with the user device identifier and the at least one display, based on the received sensor signal, and storing the generated foot traffic record.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.17/073,160, filed Oct. 16, 2020, which is a continuation of U.S. patentapplication Ser. No. 15/833,352, filed Dec. 6, 2017, which is acontinuation of U.S. patent application Ser. No. 14/811,151, filed Jul.28, 2015, which claims priority under 35 U.S.C. § 119 to U.S.Provisional Application No. 62/029,789, filed Jul. 28, 2014, andentitled “Systems and Methods for Product Placement Optimization BySensing Customer Traffic in Stores.” The aforementioned applications areincorporated herein by reference in their entirety.

TECHNICAL FIELD

The disclosed embodiments generally relate to systems and methods forretail merchandising, and more particularly, to systems and methods forproduct placement optimization by sensing in-store customer traffic.

BACKGROUND

Merchants generally determine which products to offer for sale in theirstores, how to present those products to customers, and what areasonable retail price is for those products. With these decisions,merchants seek to drive higher sales of profit-making retail productsand/or to efficiently reduce distressed inventory. Product placementrefers to decisions associated with the display of goods within thestore, typically to promote sales and/or maximize profit for themerchant (via, e.g., reduced inventory costs). Merchants often utilizedisplays, showcases, backdrops. lighting effects, etc. in productplacement to attract the attention of shoppers to their products.Merchants may also desire to identify the key demographics of consumerswho are likely to purchase a product so that they may quickly attractsuch customers to their product displays, thereby increasingprofitability through a quick sale.

Currently, merchants lack customized information regarding the in-storebehaviors of their customers or the ability to utilize such informationin making decisions (such as, for example, which products to offer forsale, how to present those products to customers, at what retail priceto list those products, etc.). Nor do merchants have access to empiricaldata on the key consumer demographics for consumers visiting theirstores, and how those demographics relate to the products that merchantshave on display in their stores. Thus, a need exists for systems andmethods for product placement optimization.

SUMMARY

In the following description, certain aspects and embodiments of thepresent disclosure will become evident. It should be understood that thedisclosure, in its broadest sense, could be practiced without having oneor more features of these aspects and embodiments. Specifically, itshould also be understood that these aspects and embodiments are merelyexemplary. Moreover, although disclosed embodiments are discussed in thecontext of merchant systems and environments for ease of discussion, itis to be understood that the disclosed embodiments are not limited toany particular industry. Instead, disclosed embodiments may be practicedby any entity in any industry that would benefit from an improvedunderstanding of customer foot traffic.

Certain disclosed embodiments provide systems and methods for productplacement optimization by sensing customer traffic in stores. Forexample, certain disclosed embodiments may use Bluetooth® low energy(“BLE”) beacons in a retail store to track customer foot traffic througha store for use in optimizing merchandise placement. As an illustration,some embodiments may enable a merchant to identify a demographic of acustomer in the store, and change, modify, and/or re-orient a display ofmerchandise intended to appeal to that demographic so that the customeris provided with a better presentation of that merchandise. In certaindisclosed embodiments, the BLE beacons may eliminate the need forrunning a merchant app on the customer's device to track customers inthe store.

In certain disclosed embodiments, customer data regarding a plurality ofcustomers can be aggregated, reviewed centrally, and then used as abasis to feed more dynamic marketing displays from a remote controlcenter. As an example, a centralized server system for a retail outletchain may provide analytics on aggregated customer in-store data tomodify product placement strategies in one of the outlets within thechain. Certain disclosed embodiments may also facilitate testing ofdifferent offers to see which offers drive higher sales conversionand/or best reduce distressed inventory.

Other aspects of the disclosed embodiments are set forth below in thisdisclosure. For example, the disclosed embodiments may include a systemfor analyzing in-store customer traffic. The system may include, forexample, at least one sensor positioned within a retail store, at leastone display associated with the at least one sensor, one or more memorydevices storing instructions. and one or more processors configured toexecute the instructions to perform operations. Upon executing theinstructions, for example, the processors may receive a sensor signalindicating that a user device is within a proximity to the at least onesensor in the retail store. The processors may further extract a userdevice identifier from the sensor signal, correlate the sensor signal tothe at least one display, and generate a foot traffic record associatedwith the user device identifier and the at least one display based onthe received sensor signal. The processors may also store the generatedfoot traffic record.

The disclosed embodiments also include a computer-implemented method foranalyzing in-store customer traffic. The method may include, forexample, receiving a sensor signal indicating that a user device iswithin a proximity to a sensor in a retail store, the sensor beingassociated with at least one display in the retail store. The method mayinclude extracting a user device identifier from the sensor signal,correlating the sensor signal to the at least one display, andgenerating a foot traffic record associated with the user deviceidentifier and the at least one display based on the received sensorsignal. The method may also include storing the generated foot trafficrecord.

In accordance with additional embodiments of the present disclosure, acomputer-readable medium is disclosed that stores instructions that,when executed by a processor(s), causes the processor(s) to performoperations consistent with one or more disclosed methods.

It is to be understood that both the foregoing general description andthe following detailed description are exemplary and explanatory only,and are not restrictive of the disclosed embodiments, as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate several embodiments and, togetherwith the description, serve to explain the disclosed principles. In thedrawings:

FIG. 1A is a block diagram of an exemplary environment for sensingcustomer traffic in stores, consistent with disclosed embodiments:

FIG. 1B is a block diagram of exemplary merchant store equipment thatcan be modified based on sensing customer traffic in stores, consistentwith disclosed embodiments;

FIG. 2A is a diagram of exemplary data that may be collected about acustomer in the store, consistent with disclosed embodiments;

FIG. 2B is an exemplary data structure of aggregate consumer data thatmay be compiled based on sensing customer traffic in stores, consistentwith disclosed embodiments;

FIG. 3A is a block diagram of an exemplary system, consistent withdisclosed embodiments;

FIG. 3B is an exemplary computer system. consistent with disclosedembodiments;

FIG. 4 is a block diagram of exemplary database tables storinginformation related to product placement optimization using in-storecustomer traffic patterns, consistent with disclosed embodiments;

FIG. 5 is a flowchart of an exemplary process for sensing customertraffic in stores, consistent with disclosed embodiments;

FIGS. 6A-B are flowcharts of an exemplary process for generatingaggregate statistics regarding customer traffic in stores, consistentwith disclosed embodiments; and

FIG. 7 is a flowchart of an exemplary process for generating productplacement optimization recommendations and instructions. consistent withdisclosed embodiments.

DETAILED DESCRIPTION

Reference will now be made in detail to exemplary embodiments, examplesof which are illustrated in the accompanying drawings and disclosedherein. Wherever convenient, the same reference numbers will be usedthroughout the drawings to refer to the same or like parts.

FIG. 1A is a block diagram of an exemplary environment for sensingcustomer traffic in stores, consistent with disclosed embodiments. Insome embodiments, a user 150 may enter (for example, as a potentialcustomer) into a retail store 100 implementing a network of sensors 120.User 150 may move about the store 100. In some embodiments, user 150 maybe carrying and/or operating a user device (not shown), such as a smartphone. As user 150 moves within store 100, user 150's path may includepositions within retail store 100 referred to in FIG. 1A as locations130. When user 150's path nears close enough that a sensor 120 istriggered, sensor 120 may detect the presence of user 150 (and/or user150's user device). In some embodiments, one or more sensors may also beassociated with a display 110 (e.g., physical/electronic display). Thus,triggering of a sensor may be indicative of a user 150 within a knownproximity to the display. When a sensor 120 is triggered by a userlocation 140, the identification of the sensor 120 may also indicate adirection from which the user 150 approached the display 110. In thismanner, user interest in a display 110 may be discerned from theidentification of the sensors 120 that are triggered by the user 150moving within the retail store 100. In certain embodiments, themovements of a user 150 may be tracked using a similar methodology asdescribed above, from the moment the user 150 enters the retail store100, until the user 150 exits the retail store 100. In certainembodiments, such tracking may be conducted in real-time forsubstantially all (e.g., −90%) users entering and/or exiting the retailstore 100.

In certain embodiments, the sensors 120 may use Bluetooth® low energy(“BLE”) beacons in the retail store 100 to track customer foot traffic.The BLE beacons may sense the presence of a user device being carried bythe user 150. In certain embodiments, the user device may be executing asoftware application to facilitate detection of the user device by thesensors 120. In some embodiments, the software application may be anapplication provided by a merchant associated with the retail store 100to the user 150. In certain disclosed embodiments, however, the use ofBLE beacons or other technologies may eliminate the need for running amerchant application, or indeed any software application, on thecustomer's device to facilitate tracking customers in the store. In suchscenarios, a pure-hardware solution may be implemented on the device tofacilitate signal communication between the user device and sensor 120,so that sensor 120 may detect the presence of the user device and/orexchange information with the user device. Other candidate sensingtechnologies may include, without limitation, cellular (e.g., 3G, 4G.etc.) technology, Wi-Fi™ hotspot technology, near-field communication(“NFC”), other Bluetooth® technologies, and/or the like. This disclosurecontemplates that any uni- or bi-directional communication technologyknown to one of ordinary skill in the art may be utilized by the sensors120 to detect the presence of the user device and/or exchangeinformation with the user device. The user device, in turn. may be anydevice known to one of ordinary skill for uni- or bi-directionalcommunication, such as a smartphone, cellular phone, tablet computer,radio-frequency identification (“RFID”) chip, smart card, and/or thelike.

FIG. 1B is a block diagram of exemplary merchant store equipment thatcan be modified based on sensing customer traffic in stores, consistentwith disclosed embodiments. Using the information obtained from sensors120 about the displays 110 that users 150 approach, the direction fromwhich the users 150 approach them, and information concerning the users150 themselves, disclosed embodiments may be utilized to control varioustypes of the equipment available within retail store 100. As anillustration, sensor information may enable a merchant to identify ademographic of a customer in the store at certain times (time periodsduring the day, certain days of the week, surrounding certain holidays,etc.), and change, modify, and/or re-orient a display of merchandiseintended to appeal to that demographic so that the customer is providedwith a more targeted presentation of that merchandise. For example,responsive to the individual or aggregate sensor information collectedabout the in-store customer traffic, physical displays 161 in the retailstore can be modified (e.g., robotically, or manually) to include anadvertisement associated with a particular product or product groupassociated with, a marketing campaign targeting a user demographic.Similarly, wall hangings, decorations, billboards, and other ornamentalequipment 162 may be modified automatically (if a control mechanism isavailable for modifying such equipment automatically) or manuallyresponsive to the individual or aggregate sensor information collectedabout the in-store customer traffic. Electronic displays 163, signage164 (e.g., for directions), lighting 165, or sound settings may bemodified responsive to the individual or aggregate sensor informationcollected about the in-store customer traffic. This disclosurecontemplates that any stimulus that customers may be able to perceivecan be modified responsive to the individual or aggregate sensorinformation collected about the in-store customer traffic.

FIG. 2A is a diagram of exemplary data that may be collected about acustomer in the store, consistent with disclosed embodiments. In someembodiments, a back-end server may aggregate data obtained from sensors120 about a user 150 moving about the retail store 100. The back-endserver may categorize the sensor information based on the display(s) 1-Nwithin the retail store 100 with which each sensor is associated.Accordingly, as purely an illustrative example, in some embodiments, theback-end server may be able to construct foot traffic graphs 201-203representing the user's interaction with display(s) 1-N as a function oftime. Also, the back-end server may retrieve a user profile 210 for theuser 150, and associate the user profile information with the user'sfoot traffic graphs 201-203. The back-end server may obtain informationto populate the user profile fields 211 from an application executing onthe user's device. from Internet searches using keyword informationobtained from the user, by requesting the user 150 to log into a socialnetwork so that the back-end server may query the social network foruser profile information, and other such methods. The user profilefields 211 may include information such as, without limitation, age,gender, marital status, family size, financial account information,credit card or banking information, occupation salary, and/or the like.In this manner, demographics of the user 150 may be associated with thefoot traffic graphs 201-203 of the user 150 in the retail store 100. Incertain embodiments, such foot traffic graphing and association withuser demographics may be conducted in real-time for substantially all(e.g., −90%) users entering and/or exiting the retain store 100.

FIG. 2B is an exemplary data structure of aggregate consumer data thatmay be compiled based on sensing customer traffic in stores, consistentwith disclosed embodiments. In some embodiments, a back-end server mayaggregate foot traffic graphs, such as FIG. 2A (201-203), for a largenumber of users in the retail store 100. Using such aggregated data, theback-end server may compile statistical data regarding the userdemographics that visit particular displays within the store 100, thetimes during which members of such user demographics frequent theparticular display within the store 100, and the like. The back-endserver may also calculate a relative interest level (or score) betweenuser demographics in a particular display, based in part on thefrequency with which members of each user demographic visit a displaywithin the store 100, and an amount of time that members of each userdemographic spends in proximity of the display within the store 100. Theback-end server may present such statistical data in a number of ways asa type of display-demographic map. As an illustration, the back-endserver may present the data in a table 220 dividing the statistical dataaccording to time slots within the day, and may present the userdemographics that visited a particular display, and a score associatedwith that user demographic for that display, for that particular day andtime slot. As another illustration, the back-end server may present thedata in a table 230 dividing the statistical data according to userdemographics, and may present the display identifiers and time slotswithin the day that each user demographic most visited the particulardisplay, and a score associated with that user demographic for thatdisplay, for that particular day and time slot.

In general, it is to be understood that any manner of statisticalanalysis of individual or aggregate customer foot traffic information,either separately from or tied to user profile or user demographicinformation, is contemplated by this disclosure.

FIG. 3A is a block diagram of an exemplary system, consistent withdisclosed embodiments. As shown in FIG. 3A, system 300 may include userdevices 310, sensors 320, store equipment 360, back-end servers 340, anin-store sensor network 330 to facilitate communication at least betweenuser device 310 and sensors 320, and a communication network 350 tofacilitate communication among the components of system 300. Thecomponents and arrangement of the components included in system 300 mayvary. Thus, system 300 may further include other components that performor assist in the performance of one or more processes consistent withthe disclosed embodiments. The components and arrangements shown in FIG.3A are not intended to limit the disclosed embodiments, as thecomponents used to implement the disclosed processes and features mayvary.

System 300 may include one or more user devices 310. A user may operatea user device 310. which may be a desktop computer, laptop, tablet,smartphone, multifunctional watch, pair of multifunctional glasses,tracking device RFID chip, smart card, or any suitable device. The userdevice 310, in turn, may be any uni- or bi-directional communicationdevice for communication with sensors 320. User device 310 may includeone or more processor(s) and memory device(s) known to those skilled inthe art. For example, user device 310 may include memory device(s) thatstore data and software instructions that, when executed by one or moreprocessor(s), perform operations consistent with the disclosedembodiments. In one aspect, user device 310 may have an applicationinstalled thereon, which may enable user device 310 to communicate withsensors 320 via in-store sensor network 330. For instance, user device310 may be a smartphone or tablet (or the like) that executes anapplication that logs the user device 310 into the in-store sensornetwork 330 when a user 150 enters the store 100. In some embodiments,user device 310 may connect to sensors 320 or back-end servers 340through an application programming interface to communicate informationto the sensors 320 or back end servers 340, or through use of browsersoftware stored and executed by user device 310. User device 310 may beconfigured to execute software instructions that allow a user to accessinformation stored in back-end server 340, such as, for example, deviceinformation, user profile information, user demographic categories, andthe like. Additionally, user device 310 may be configured to executesoftware instructions that initiate and interact with store equipment360, such as, for example, to facilitate purchase transactions orbarcode scans of retail sales products. A user may operate user device310 to perform one or more operations consistent with the disclosedembodiments. In one aspect, a user may be a customer of the storecorresponding to back-end server 340, store equipment 360. and/orsensors 320. An exemplary computer system consistent with user device310 is discussed in additional detail with respect to FIG. 3B.

System 300 may include one or more sensors 320. Sensors 320 may beconfigured to detect the presence of users 150 and/or user devices 310in a store. For example, sensors 320 may detect the presence of usersdirectly via technologies such as facial recognition, fingerprintrecognition, voice recognition, or other biometric techniques. In someembodiments, sensors 320 may detect user devices 310 in the store viacommunication technologies such as cellular (e.g., 3G, 40, etc.)technology, hotspot technology, near-field communication (“NFC”),Bluetooth® technology, and/or the like. In certain embodiments, thesensors 320 may use Bluetooth® low energy (“BLE”) beacons to detect thepresence of, and communicate with, user device 310. The BLE beacons maysense the presence of a user device 310 being carried by users 150. Incertain disclosed embodiments, the use of BLE beacons or othertechnologies may eliminate the need for running any software applicationon the user devices 310 to facilitate detection of, and communicationwith, the user devices 310. In such scenarios, a pure-hardware solutionmay be implemented on the user devices 310 to facilitate signalcommunication between the user devices 310 and sensors 320, so thatsensors 320 may detect the presence of the user devices 310 and/orexchange information with the user devices 310. This disclosurecontemplates that any uni- or bi-directional communication technologyknown to one of ordinary skill in the art may be utilized by the sensors320 to detect the presence of the user devices 310 and/or exchangeinformation with the user devices 310.

In accordance with disclosed embodiments, system 300 may includeback-end servers 340. Back-end servers 340 may be a system associatedwith a retailer (not shown), or an information technology serviceprovider (not shown), or a financial institution (not shown) such as abank, a credit card company, a credit bureau, a lender, brokerage firm,or any other type of financial service entity. Back-end servers 340 maybe one or more computing systems that are configured to execute softwareinstructions stored on one or more memory devices to perform one or moreoperations consistent with the disclosed embodiments. For example,back-end servers 340 may include one or more memory device(s) storingdata and software instructions and one or more hardware processor(s)configured to use the data and execute the software instructions toperform server-based functions and operations known to those skilled inthe art. Back-end servers 340 may include one or more general-purposecomputers, mainframe computers, or any combination of these types ofcomponents.

In certain embodiments, back-end servers 340 may be configured as aparticular apparatus, system, and the like based on the storage,execution, and/or implementation of the software instructions thatperform one or more operations consistent with the disclosedembodiments. Back-end servers 340 may be standalone, or it may be partof a subsystem, which may be part of a larger system. For example.Back-end servers 340 may represent distributed servers that are remotelylocated and communicate over a network (e.g., communication network 350)or a dedicated network, such as a LAN, for a financial service provider.An exemplary computing system consistent with back-end servers 340 isdiscussed in additional detail with respect to FIG. 3B, below.

Back-end servers 340 may include or may access one or more storagedevices (e.g., memory 373 and/or database 377) configured to store dataand/or software instructions used by one or more processors of back-endservers 340 to perform operations consistent with disclosed embodiments.For example, back-end servers 340 may include memory 373 configured tostore one or more software programs that performs various functions whenexecuted by a processor. The disclosed embodiments are not limited toseparate programs or computers configured to perform dedicated tasks.For example, back-end servers 340 may include memory that stores asingle program or multiple programs. Additionally, back-end servers 340may execute one or more programs located remotely from back-end servers340. For example, back-end servers 340 may access one or more remoteprograms stored in memory included with a remote component that, whenexecuted, perform operations consistent with the disclosed embodiments.In certain aspects, back-end servers 340 may include server softwarethat generates. maintains, and provides user applications, customer foottraffic data, user profile information, user demographics information,retail/electronic display lists, display-demographic maps,inventory-demographic maps, retail inventory lists, and/or the like. Inother aspects, back-end servers 340 may connect separate server(s) orsimilar computing devices that generate, maintain, and provide suchservices.

In accordance with disclosed embodiments. system 300 may include storeequipment 360. Store equipment 360 may include various types of theequipment available within retail store 100. For example, storeequipment 360 may include physical displays in the retail store that canbe modified, e.g., robotically, or manually. Similarly, store equipmentmay include wall hangings, decorations, billboards, and other ornamentalequipment that may be modified automatically (where a control mechanism,such as a robotic arm, is available for modifying such equipment) ormanually. Store equipment may include electronic displays, electricalsignage, lighting system, sound systems, tactile systems, and/or thelike. In addition, store equipment 360 may include equipment forprocessing financial transactions, such as a card swipe terminal, storecheckout terminal, accounting systems, and/or the like.

Communication network 350 and in-store sensor network 330 may compriseany type of computer networking arrangement used to exchange data. Forexample, communication network 350 and in-store sensor network 330 maybe the Internet, a private data network, a virtual private network usinga public network, a Wi-Film network, a LAN or WAN network, and/or othersuitable connections that may enable information exchange among variouscomponents of the system 300. Communication network 350 and in-storesensor network 330 may also include a public switched telephone network(“PSTN”) and/or a wireless cellular network. Communication network 350and in-store sensor network 330 may be a secured network or unsecurednetwork. In other embodiments, one or more components of system 300 maycommunicate directly through a dedicated communication link(s), such aslinks between user devices 310, sensors 320, store equipment 360, andback-end servers 340.

Other components known to one of ordinary skill in the art may beincluded in system 300 to process, transmit, provide, and receiveinformation consistent with the disclosed embodiments. In addition,although not shown in FIG. 3A, components of system 300 may communicatewith each other through direct communications. Direct communications mayuse any suitable technologies, including, for example, wiredtechnologies (e.g., Ethernet, PSTN, etc.), wireless technologies (e.g.,Bluetooth™, Bluetooth LE™, Wi-Fi™, near field communications (NFC),etc.), or any other suitable communication methods that provide a mediumfor transmitting data between separate devices.

FIG. 3B shows a diagram of an exemplary computing system 370illustrating a computing system configuration that may be associatedwith user devices 310, sensors 320. store equipment 360, and/or back-endservers 340, consistent with disclosed embodiments. In one embodiment,computing system 370 may have one or more processors 371 one or morememories 373, and one or more input/output (I/O) devices 372. In someembodiments, computing system 370 may take the form of a server,general-purpose computer, a mainframe computer, laptop, smartphone,mobile device, or any combination of these components. In certainembodiments, computing system 370 (or a system including computingsystem 370) may be configured as a particular apparatus, system, and thelike based on the storage, execution, and/or implementation of thesoftware instructions that perform one or more operations consistentwith the disclosed embodiments. Computing system 370 may be standalone,or it may be part of a subsystem. which may be part of a larger system.

Processor 371 may include one or more known processing devices, such asa microprocessor from the Pentium™ or Xeon™ family manufactured byIntel™, the Turion™ family manufactured by AMD™, or any of variousprocessors manufactured by Sun Microsystems. Processor 371 mayconstitute a single core or multiple core processor that executesparallel processes simultaneously. For example, processor 371 may be asingle core processor configured with virtual processing technologies.In certain embodiments, processor 371 may use logical processors tosimultaneously execute and control multiple processes. Processor 371 mayimplement virtual machine technologies, or other known technologies toprovide the ability to execute, control, run, manipulate, store, etc.multiple software processes, applications, programs, etc. In anotherembodiment, processor 371 may include a multiple-core processorarrangement (e.g., dual, quad core, etc.) configured to provide parallelprocessing functionalities to allow computing system 370 to executemultiple processes simultaneously. One of ordinary skill in the artwould understand that other types of processor arrangements could beimplemented that provide for the capabilities disclosed herein. Thedisclosed embodiments are not limited to any type of processor(s)configured in computing system 370.

Memory 373 may include one or more storage devices configured to storeinstructions used by processor 371 to perform functions related to thedisclosed embodiments. For example, memory 373 may be configured withone or more software instructions, such as program(s) 375 that mayperform one or more operations when executed by processor 371. Thedisclosed embodiments are not limited to separate programs or computersconfigured to perform dedicated tasks. For example. memory 373 mayinclude a program 375 that performs the functions of computing system370, or program 375 could comprise multiple programs. Additionally,processor 371 may execute one or more programs located remotely fromcomputing system 370. For example, user devices 310, sensors 320, storeequipment 360, and back-end servers 340, may, via computing system 370(or variants thereof), access one or more remote programs that, whenexecuted, perform functions related to certain disclosed embodiments.Processor 371 may further execute one or more programs located indatabase 377. In some embodiments, programs 375 may be stored in anexternal storage device, such as a cloud server located outside ofcomputing system 370, and processor 371 may execute programs 375remotely.

Programs executed by processor 371 may cause processor 371 to executeone or more processes related to aggregating in-store customer foottraffic information. Programs executed by processor 371 may furthercause processor 371 to execute one or more processes related tostatistical demographic analysis of customer foot traffic information.Programs executed by processor 371 may further cause processor 371 toexecute one or more processes related to product placement optimizationusing in-store customer foot traffic information. Programs executed byprocessor 371 may also cause processor 371 to execute one or moreprocesses related to financial services provided to users including, butnot limited to, processing credit and debit card transactions, checkingtransactions, fund deposits and withdrawals, transferring money betweenfinancial accounts, lending loans, processing payments for credit cardand loan accounts, processing ATM cash withdrawals, or the like.

Memory 373 may also store data that may reflect any type of informationin any format that the system may use to perform operations consistentwith the disclosed embodiments. Memory 373 may store instructions toenable processor 371 to execute one or more applications, such as serverapplications, a customer foot traffic data aggregation application, acustomer demographic-foot traffic statistical analysis application,network communication processes, and any other type of application orsoftware. Alternatively, the instructions, application programs, etc.,may be stored in an external storage (not shown) in communication withcomputing system 370 via communication network 350, in-store sensornetwork 330, or any other suitable network. Memory 373 may be a volatileor non-volatile, magnetic, semiconductor, tape, optical, removable,non-removable, or other type of storage device or tangible (e.g.,non-transitory) computer-readable medium.

Memory 373 may include graphical user interfaces (“GUI”) 374. GUI 374may allow a user to access, modify, etc. user profile information, userdemographic information, user foot traffic data, and/or the like. Incertain aspects, as explained further below with reference to FIG. 4 ,GUI 374 may facilitate an operator to view raw aggregated customer foottraffic information, customer demographic information, lists of in-storeretail/electronic displays, maps of customer demographics to in-storedisplays, maps of inventory to customer demographics, retail inventorylists, display recommendations, or the like. GUI 374 may also allow theoperator to issue display instructions to modify one or more items ofstore equipment, e.g., to modify a retail or electronic display based onthe information listed above. Additionally or alternatively, GUI 374 maybe stored in database 377 or in an external storage (not shown) incommunication with computing system 370 via networks 330. or 350 or anyother suitable network.

I/O devices 372 may be one or more device that is configured to allowdata to be received and/or transmitted by computing system 370. I/Odevices 372 may include one or more digital and/or analog communicationdevices that allow computing system 370 to communicate with othermachines and devices, such as other components of system 300 shown inFIG. 3A. For example, computing system 370 may include interfacecomponents, which may provide interfaces to one or more input devices,such as one or more keyboards, mouse devices, and the like, which mayenable computing system 370 to receive input from an operator of userdevice 310.

Computing system 370 may also comprise one or more database(s) 377.Alternatively, computing system 370 may be communicatively connected toone or more database(s) 377. Computing system 370 may be communicativelyconnected to database(s) 377 through networks 330 or 350. Database 377may include one or more memory devices that store information and areaccessed and/or managed through computing system 370. By way of example,database(s) 377 may include Oracle™ databases, Sybase™ databases, orother relational databases or non-relational databases, such as Hadoopsequence files, HBase, or Cassandra. The databases or other files mayinclude, for example, data and information related to the source anddestination of a network request, the data contained in the request,etc. Systems and methods of disclosed embodiments, however, are notlimited to separate databases. Database 377 may include computingcomponents (e.g., database management system, database server, etc.)configured to receive and process requests for data stored in memorydevices of database(s) 377 and to provide data from database 377.

As discussed above, user devices 310, sensors 320, store equipment 360,and/or back-end servers 340 may include at least one computing system370. Further, although sometimes discussed here in relation to back-endserver 340, it should be understood that variations of computing system370 may be employed by other components of system 300, including userdevices 310, sensors 320, and store equipment 360. Computing system 370may be a single server or may be configured as a distributed computersystem including multiple servers or computers that interoperate toperform one or more of the processes and functionalities associated withthe disclosed embodiments.

FIG. 4 is a block diagram of exemplary database tables storinginformation related to product placement optimization based on sensedcustomer traffic in stores, consistent with disclosed embodiments. Insome embodiments, a database, e.g., implemented in memory 373 ordatabase 377, may store user applications 401, user profiles 402, foottraffic raw data 403, demographic categories 404, retail/electronicdisplay lists 405, display-demographic maps 406, inventory-demographicmaps 407, retail inventory 408, display recommendations 409, graphicaluser interfaces 410, and display instructions 411. User applications 401may be designed for execution on user devices 310, to facilitatecommunication of the user devices 310 with sensors 320, store equipment360, and/or back-end servers 340. User applications 401 may also bedesigned to collect user input, including user profile informationanchor user demographic information. User profiles 402 may store userprofile information and/or user demographic information about the user,such as obtained from use of the user applications 401. Examples of suchinformation include, without limitation, age, gender, marital status,family size, financial account information, credit card or bankinginformation, occupation, salary, and/or the like. Foot traffic raw data403 may store data obtained from user devices 310 and/or sensors 320,including, without limitation: device ID, sensor ID, store ID, timestampinformation, user ID, display ID, time duration, and information on adirection from which the user approached the display. Demographiccategories 404 may include a list of all demographics included among theuser profiles for customers for whom foot traffic raw data (as stored in403) was collected by system 300. In addition or in the alternative,such demographic categories may be pre-specified, rather than generatedfrom the user profiles of customers. Retail/electronic display lists 405may provide information on the store equipment 360 included within thestore 100, and may include fields such as, without limitation, displayID, associated sensor ID(s), display name, display type, usage history,and/or the like. In some embodiments, back-end servers 304 may generateand store display-demographic maps 406, using the foot traffic raw data403, demographic categories 404, and retail/electronic display lists.For example, back-ends servers 304 may use the foot traffic raw data 403and retail/electronic display lists to correlate users in the stores tothe displays within the store that they visit, and then utilize userprofiles and/or demographic category data for those users to correlatethe displays to the demographic categories. FIG. 2B, 220-230 , areexamples of such display-demographic maps.

In some embodiments, a retail inventory table 408 may store inventoryinformation for a particular store. Inventory information may includefields such as, without limitation, store ID, stock-keeping unit (SKU)ID, SKU name, quantity, stock date, expiry date, retail price, and/orthe like. Inventory-demographic maps 407 may include information frommerchandising advertisers on target demographics for their products,product sales testing criteria, and/or the like. In some embodiments,back-end server 340 may utilize such inventory-demographic maps and theretail inventory to generate display recommendations for implementationin the store. Such display recommendations may include identification ofproducts (e.g., by SKU ID), and items for display related to theidentified products (e.g., advertisements, wall hangings, billboards,etc.), as well as display conditions (e.g., lighting, sound effects,etc.), and may be stored as display recommendations 409. Graphical userinterfaces 410 may be stored in memory 373 and/or database 377, and mayprovide an interface for viewing the information stored in the databasetables. Finally, based on user input and the display recommendations409, display instructions (e.g., manual instructions, orprocessor-executable instructions) may be generated for modifying thestore equipment 360 to implement optimized product placement in the formof retail/electronic displays. These may be stored as displayinstructions 411.

FIG. 5 is a flowchart of an exemplary process for sensing customertraffic in stores consistent with disclosed embodiments. At step 510,system 300 may initiate sensors 320 of sensor network 330 to detect thepresence of users/user devices 310 in the store 100. At step 520, thesensors 320 may search for triggers, such as a user device 310 enteringinto proximity with a sensor. Here, proximity of a user device 310 to asensor 320 may refer to a state where the user device 310 and sensor 320can, either uni-directionally or bi-directionally, reliably communicate(e.g., if using packet-switched communication, with a packet loss rateacceptable in the relevant industry) with each other. At step 530, if asensor is triggered, processing moves on to step 540, where the sensor320 may provide a sensor ID, and may communicate with user device 310 toobtain a device ID. If the sensor 320 is designed to recognize a user(e.g., via facial/voice/fingerprint recognition. etc.), then sensor 320may provide a user ID instead of the device ID. At step 550, back-endservers 340 may acquire the sensor data, user data, device data, and appdata (if any, of an application executing on the user device 310), viasensor network 330 and/or communication network 350. For example,back-end servers 340 may engage in a separate communication with userdevice 310 to obtain user ID, user profile data, user demographiccategories, and/or the like directly from the user device 310, withoutthe involvement of the sensors 320 or in-store sensor network 330. Inthis manner, privacy protections for user data may be implemented, suchthat the retailer does not receive access to personally identifiableinformation or other sensitive information related to the user. At step560, back-end servers 340 may generate and store a customer foot trafficraw data record using the information obtained from the sensors 320and/or user device 310.

FIGS. 6A-B are flowcharts of an exemplary process for generatingaggregate statistics regarding customer traffic in stores, consistentwith disclosed embodiments. With reference to FIG. 6A, back-end servers340 may perform an iterative procedure to build a set ofdisplay-demographic maps. For example, back-end servers 340 may generateand store display demographic maps, using foot traffic raw data,demographic categories, and retail/electronic display lists. Forexample, back-end servers 340 may use the foot traffic raw data andretail/electronic display lists to correlate users in the stores to thedisplays within the store that they visit, and then utilize userprofiles and/or demographic category data for those users to correlatethe displays to the demographic categories. FIG. 2B, 220-230 , areexamples of such display-demographic maps.

Accordingly, at step 610, back-end servers 340 may select a user ordevice, and at step 620, query for raw foot traffic recordscorresponding to the selected user or device. At step 630, if there areno raw foot traffic records corresponding to the selected user ordevice, the back-end servers 340 may select another user or device, andcontinue processing. If there are available raw foot traffic recordscorresponding to the selected user or device, at step 640, the back-endservers 340 may extract from each raw foot traffic record (retrieved inresponse to the query at step 620), a device ID, user ID, sensor ID,store ID, and any other available information in the record. At step650, the back-end servers 340 may query database 377 or memory 373 fordisplay lists for the stores identified in the raw foot traffic recordscorresponding to the selected user or device. Thereby, the back-endservers 340 may retrieve the retail/electronic display lists for thestores where the user or device has generated in-store foot traffic. Theback-end servers 340 may then correlate the sensor ID(s) identified inthe raw foot traffic records to the display ID(s) for theretail/electronic display lists. Thus, the back-end servers 340 maydetermine those displays that the user or device visited.

With reference to FIG. 6B, at step 660, the back-end servers 340 mayattempt to obtain user demographic information associated with the useror device, in order to generate a mapping between the foot traffic dataand the demographics associated with the user or device. The back-endservers 340 may obtain a user profile, e.g., by querying the user device310 directly, or by querying database 377 or memory 373 for stored userprofile information. At step 670, the back-end servers 340 may identifydemographic categories from the retrieved user profile information. Forexample, the back-end servers 340 may determine whether the usersatisfies any pre-determined demographic categories as set forth by theretailer associated with the store 100, or as set forth by advertisersof the products on sale at the store where the in-store sensor networkhas been implemented. For any demographic categories that areidentified, the back-end servers 340 may retrieve associateddisplay-demographic maps from storage in order to update them with theinformation corresponding to the selected user or device. At step 680,the back-end servers 340 may retrieve the display-demographic maps foreach display identified at step 650. At step 690, for eachdisplay-demographic map retrieved from storage, the back-end servers 340may generate an updated display-demographic map using the raw foottraffic records of the selected user or device. The back-end servers 340may store the updated display-demographic maps in the database 377 ormemory 373.

FIG. 7 is a flowchart of an exemplary process for generating productplacement optimization recommendations and instructions, consistent withdisclosed embodiments. In some embodiments, back-end server 340 mayutilize inventory-demographic maps and the retail inventory to generatedisplay recommendations for implementation in the store. Inventorydemographic maps may include information from merchandising advertiserson target demographics for their products, product sales testingcriteria, and/or the like. The display recommendations may includeidentification of products (e.g., by SKU ID), and items for displayrelated to the identified products (e.g., advertisements, wall hangings,billboards), as well as display conditions (e.g., lighting, soundeffects, etc.), and may be stored as display recommendations.

Accordingly, at step 710, the back-end servers 340 may obtain a retailinventory listing for a store participating in the in-store customerfoot traffic sensing system, as well as an inventory-demographic map. Atstep 720, the back-end servers 340 may retrieve from database 377 ormemory 373 the stored display-demographic maps for the displays in thestore. Based on the display-demographic maps for the displays in thestore and the inventory-demographic map, at step 730, the back-endservers 340 may generate display recommendations. At step 740, theback-end servers 340 may provide the display recommendations through aGUI (see, e.g., GUI 374) for review by a store administrator, salesrepresentative, marketing manager, etc. In some embodiments, the GUI maybe deployed on a computer remote from the back-end servers 340. At step750, the back-end servers 340 may receive user input via the GUI. Theuser input may be used to confirm certain display recommendations, andreject others. Alternatively or in addition, the user input may be usedto modify certain display recommendations before issuing them as displayinstructions. At step 760, the back-end servers 340 may generate andprovide display instructions based on the display recommendations andthe user input. For example, such display instructions may take the formof a reports instructing manual modification of a product placementpresentation (e.g., instructions to change product displayed on a panel,change backlighting color and/or intensity, add sound effects, etc.). Asanother example. the display instructions may be machine-readable andexecutable by processor 371 of computing system 370. For example, theinstructions may instruct the processor 371 to operate a robotic arm orconveyor belt, or other mechanism to modify a product placementpresentation. It may include instructions to modify lighting, signage,background music, billboards on electronic signs, advertisements beingdisplayed on electronic display screens, and/or the like. Theseinstructions may be communicated via communication network 350 or viain-store sensor network 330 to the store equipment 360, which mayimplement the display instructions in an automated fashion.

In some examples, some or all of the logic for the above-describedtechniques may be implemented as a computer program or application or asa plug-in module or subcomponent of another application. The describedtechniques may be varied and are not limited to the examples ordescriptions provided.

Moreover, while illustrative embodiments have been described herein, thescope thereof includes any and all embodiments having equivalentelements, modifications omissions, combinations (e.g., of aspects acrossvarious embodiments), adaptations and/or alterations as would beappreciated by those in the art based on the present disclosure. Forexample, the number and orientation of components shown in the exemplarysystems may be modified. Further, with respect to the exemplary methodsillustrated in the attached drawings, the order and sequence of stepsmay be modified. and steps may be added or deleted.

Thus, the foregoing description has been presented for purposes ofillustration only. It is not exhaustive and is not limiting to theprecise forms or embodiments disclosed. Modifications and adaptationswill be apparent to those skilled in the art from consideration of thespecification and practice of the disclosed embodiments. For example,while a retailer has been referred to herein for ease of discussion, itis to be understood that consistent with disclosed embodiments anotherentity may provide such services in conjunction with or separate from aretailer.

The claims are to be interpreted broadly based on the language employedin the claims and not limited to examples described in the presentspecification, which examples are to be construed as non-exclusive.Further, the steps of the disclosed methods may be modified in anymanner, including by reordering steps and/or inserting or deletingsteps.

Furthermore, although aspects of the disclosed embodiments are describedas being associated with data stored in memory and other tangiblecomputer-readable storage mediums, one skilled in the art willappreciate that these aspects can also be stored on and executed frommany types of tangible computer-readable media, such as secondarystorage devices, like hard disks, floppy disks, or CD-ROM, or otherforms of RAM or ROM. Accordingly, the disclosed embodiments are notlimited to the above described examples, but instead is defined by theappended claims in light of their full scope of equivalents.

What is claimed is:
 1. An analysis system, comprising: a sensor networkcomprising a plurality of sensors, the plurality of sensors comprising afirst sensor of a first type and a second sensor of a second type; oneor more memory devices storing instructions; and one or more hardwareprocessors configured to execute the instructions to: receive, from thesensor network over an electronic communications network, a first sensorsignal indicating that a first user has been recognized by the firstsensor; determine, based on a first user identifier within the firstsensor signal, a first user category associated with the first user;obtain display data associated with the first user category; determine arecommendation to be displayed in a first display based on the displaydata; generate a processor-executable instruction to modify directionalsignage of the first display towards an item according to therecommendation; determine, based on sensor data from the sensor network,a direction from which the first user approached the first display andan amount of time the first user spent within a proximity of the firstdisplay, wherein the direction is determined using the second sensorwithin the sensor network; calculate a first score based on the amountof time the first user spent within the proximity of the first displayand the direction from which the first user approached the firstdisplay; generate, based on the first score, a display map indicating acorrelation between the first display and the first user category; andstore the display map.
 2. The analysis system of claim 1, wherein theone or more hardware processors are further configured to execute theinstructions to generate a first foot traffic record associated with thefirst user based on the first sensor signal.
 3. The analysis system ofclaim 1, wherein the first sensor senses at least one of a face of thefirst user, a fingerprint of the first user, or a voice of the firstuser.
 4. The analysis system of claim 1, wherein the one or morehardware processors are further configured to execute instructions to:obtain a first user profile corresponding to the first user; andidentify the first user category based on the first user profile.
 5. Theanalysis system of claim 4, wherein the one or more hardware processorsare further configured to execute instructions to: obtain an inventorylisting associated with a retail store; and generate the recommendationfor a product contained in the inventory listing, based on the displaymap.
 6. The analysis system of claim 5, wherein the one or more hardwareprocessors are further configured to execute instructions to: providethe recommendation for the product contained in the inventory listingvia a graphical user interface.
 7. The analysis system of claim 6,wherein the one or more hardware processors are further configured toexecute instructions to: obtain a user input via the graphical userinterface in response to providing the recommendation for the productcontained in the inventory listing; generate a display instruction basedon the user input; and provide the display instruction via the graphicaluser interface.
 8. The analysis system of claim 1, wherein the one ormore hardware processors are further configured to execute instructionsto: update, based on the amount of time the first user spent within theproximity of the first display, a second score indicating an interest ofmembers of a second user demographic group associated with the firstuser in the first display in a time slot of a particular day.
 9. Theanalysis system of claim 1, wherein the one or more hardware processorsare further configured to execute instructions to: receive a secondsensor signal indicating that a second user has been recognized by thefirst sensor; extract a second user identifier from the second sensorsignal; correlate the second sensor signal to the first display;generate a second foot traffic record associated with the second useridentifier and the first display, based on the second sensor signal;store the second foot traffic record; and generate the recommendationfor a product identified in a retail inventory listing based on thedisplay map, wherein the display map is based on a first user profilerelated to the first user and a second user profile related to thesecond user.
 10. A method for customer traffic analysis, the methodcomprising; receiving, from a sensor network comprising a first sensorof a first sensor type and a second sensor of a second sensor type overan electronic communications network, a first sensor signal indicatingthat a first user has been recognized by the first sensor; determining,based on a first user identifier within the first sensor signal, a firstuser category associated with the first user; obtaining display dataassociated with the first user category; determining a recommendation tobe displayed in a first display based on the display data; generating aprocessor-executable instruction to modify directional signage of thefirst display towards an item according to the recommendation;determining, based on sensor data from the sensor network, a directionfrom which the first user approached the first display and an amount oftime the first user spent within a proximity of the first display,wherein the direction is determined using the second sensor within thesensor network; calculating a first score based on the amount of timethe first user spent within the proximity of the first display and thedirection from which the first user approached the first display;generating, based on the first score, a display map indicating acorrelation between the first display and the first user category; andstoring the display map.
 11. The method of claim 10, further comprisinggenerating a first foot traffic record associated with the first userbased on the first sensor signal.
 12. The method of claim 10, whereinthe first sensor is a biometric sensor that senses at least one of aface of the first user, a fingerprint of the first user, or a voice ofthe first user.
 13. The method of claim 10, further comprising:obtaining a first user profile corresponding to the first user; andidentifying a demographic category based on the first user profile. 14.The method of claim 13, further comprising; obtaining an inventorylisting associated with a retail store; and generating therecommendation for a product contained in the inventory listing, basedon the display map.
 15. The method of claim 14, further comprising:providing the recommendation for the product contained in the inventorylisting via a graphical user interface.
 16. The method of claim 15,further comprising: obtaining a user input via the graphical userinterface in response to providing the recommendation for the productcontained in the inventory listing; generating a display instructionbased on the user input; and providing the display instruction via thegraphical user interface.
 17. The method of claim 10, furthercomprising: updating, based on the amount of time the first user spentwithin the proximity of the first display, a second score indicating aninterest of members of a second user demographic group associated withthe first user in the first display in a time slot of a particular day.18. The method of claim 10, further comprising: receiving a secondsensor signal indicating that a second user has been recognized by thefirst sensor; extracting a second user identifier from the second sensorsignal; correlating the second sensor signal to the first display;generating a second foot traffic record associated with the second useridentifier and the first display, based on the second sensor signal;storing the second foot traffic record; and generating therecommendation for a product identified in a retail inventory listingbased on the display map, wherein the display map is based on a firstuser profile related to the first user and a second user profile relatedto the second user.
 19. A non-transitory, computer readable mediumstoring instructions that, when executed by one or more hardwareprocessors, causes the one or more hardware processors to performoperations comprising: receiving, from a sensor network comprising afirst sensor of a first sensor type and a second sensor of a secondsensor type over an electronic communications network, a first sensorsignal indicating that a first user has been recognized by the firstsensor; determining, based on a first user identifier within the firstsensor signal, a first user category associated with the first user;obtaining display data associated with the first user category;determining a recommendation to be displayed in a first display based onthe display data; generating a processor-executable instruction tomodify directional signage of the first display towards an itemaccording to the recommendation; determining, based on sensor data fromthe sensor network, a direction from which the first user approached thefirst display and an amount of time the first user spent within aproximity of the first display, wherein the direction is determinedusing the second sensor within the sensor network; calculating a firstscore based on the amount of time the first user spent within theproximity of the first display and the direction from which the firstuser approached the first display; generating, based on the first score,a display map indicating a correlation between the first display and thefirst user category; and storing the display map.
 20. Thenon-transitory, computer readable medium of claim 19, the operationsfurther comprising; receiving a second sensor signal indicating that asecond user has been recognized by the first sensor in a retail store;extracting a second user identifier from the second sensor signal;correlating the second sensor signal to at least one display; generatinga second foot traffic record associated with the second user identifierand the at least one display, based on the second sensor signal; storingthe second foot traffic record; and generating recommending a productidentified in a retail inventory listing based on the display map,wherein the display map is based on a first user profile related to thefirst user and a second user profile related to the second user.